home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
t_os
/
komei4
/
komei4.exe
/
ICON
/
I_MK.HD6
< prev
next >
Wrap
Text File
|
1993-06-02
|
3KB
|
197 lines
ds_name db 'MOJ\I_MK',0
;カラーアイコン制作ボックス
;画面右の大きな箱
paint_wd:
re_paint:
WD_CLS 0
BOX boxdt,1
ret
be_called:
YOMU ax,300
cmp ax,1
je fcol_ck
cmp ax,2
je bcol_ck
cmp ax,3 ;前の色で塗り潰す。
je b_ful
cmp ax,400
je neru
cmp ax,500
je okiru
ret
neru:
WD_ERZ 1
WD_ERZ 0
WD_LEFT
ret
okiru:
WD_WANT
jmp re_paint
fcol_dt:
call sub_edi
dw 14,0
fcol_ck:
YOMU ax,302
call fcol_dt
mov [edi],ax
KAKU word ptr 300,0
ret
bcol_ck:
YOMU ax,302
call fcol_dt
mov [edi+2],ax
KAKU word ptr 300,0
ret
b_ful:
YOMU ax,302 ;col no
call boxdt3
mov [edi+16],ax
mov [edi+14],ax
BOX boxdt3,1
ret
boxdt3:
call sub_edi
dw 1,255,255,0,0,0,0,15,0,1
boxdt2:
call sub_edi
dw 1,7,7,0,0,8,0,15,15,1
mouse_in: ;諸葛亮よりwindowにマウスが入ったと言って来た。
cmp ch,0 ;左ボタンが押されていれば
jne mouseck ; 何処の箱か調べさせる
ret
m_dt:
call sub_edi
dw 3 dup (0)
mouseck:
call m_dt
mov [edi],cx
mov [edi+2],dx
mov [edi+4],bx
MOU boxdt,1 ;関策にboxdtより箱を二つ調べさせる
cmp bx,1 ;bx=1 find
je short mck1
ret
mck1:
call m_dt
mov cx,[edi]
mov bx,[edi+4]
shr bx,3
shl bx,3
mov dx,[edi+2]
sub dx,370
shr dx,3
shl dx,3
call boxdt2
mov [edi+8],bx
mov [edi+6],dx
cmp ch,1
je fda
push edi
call fcol_dt
mov ax,[edi+2]
pop edi
mov [edi+14],ax
mov [edi+16],ax
BOX boxdt2,1
jmp fda_1
fda:
push edi
call fcol_dt
mov ax,[edi]
pop edi
mov [edi+14],ax
mov [edi+16],ax
BOX boxdt2,1
fda_1:
mov ah,5
mov al,1
call zzz
call boxdt2
mov dx,[edi+14]
mov ah,7
mov al,0
call zzz
call boxdt2
mov dx,[edi+6]
mov bx,[edi+8]
shr dx,3
shr bx,3
add dx,324
add bx,41
call ten_kaku
mov [esi+2],dx
mov [esi+4],bx
mov ah,40h
call zzz
ret
zzz:
M_ZZZ
ten_kaku:
call sub_esi
dw 1
dw 0
dw 0
;--------------------------------------------
; look_me 諸葛亮に読ませるwindowデータです。
look_me:
call sub_esi ; esi 固定です。
dd 0,0
dw 1 ; ここが 1 の物は open start です。
dw 0
dw 256,256,350+20,0,15,0,0,0
;----------------------
; 関策に読ませるboxデータです。名前は自由です。
boxdt:
call sub_edi ; edi 固定です。
dw 1,255,255,0,0,0,0,15,0,0
boxdt1:
call sub_edi ; edi 固定です。
dw 1,48,20,12,2,0,20,11,8,0